package com.xd.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class GoodsMainExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public GoodsMainExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andGoodsIdIsNull() {
            addCriterion("GOODS_ID is null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIsNotNull() {
            addCriterion("GOODS_ID is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsIdEqualTo(String value) {
            addCriterion("GOODS_ID =", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotEqualTo(String value) {
            addCriterion("GOODS_ID <>", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThan(String value) {
            addCriterion("GOODS_ID >", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdGreaterThanOrEqualTo(String value) {
            addCriterion("GOODS_ID >=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThan(String value) {
            addCriterion("GOODS_ID <", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLessThanOrEqualTo(String value) {
            addCriterion("GOODS_ID <=", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdLike(String value) {
            addCriterion("GOODS_ID like", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotLike(String value) {
            addCriterion("GOODS_ID not like", value, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdIn(List<String> values) {
            addCriterion("GOODS_ID in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotIn(List<String> values) {
            addCriterion("GOODS_ID not in", values, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdBetween(String value1, String value2) {
            addCriterion("GOODS_ID between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsIdNotBetween(String value1, String value2) {
            addCriterion("GOODS_ID not between", value1, value2, "goodsId");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeIsNull() {
            addCriterion("GOODS_BARCODE is null");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeIsNotNull() {
            addCriterion("GOODS_BARCODE is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeEqualTo(String value) {
            addCriterion("GOODS_BARCODE =", value, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeNotEqualTo(String value) {
            addCriterion("GOODS_BARCODE <>", value, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeGreaterThan(String value) {
            addCriterion("GOODS_BARCODE >", value, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeGreaterThanOrEqualTo(String value) {
            addCriterion("GOODS_BARCODE >=", value, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeLessThan(String value) {
            addCriterion("GOODS_BARCODE <", value, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeLessThanOrEqualTo(String value) {
            addCriterion("GOODS_BARCODE <=", value, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeLike(String value) {
            addCriterion("GOODS_BARCODE like", value, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeNotLike(String value) {
            addCriterion("GOODS_BARCODE not like", value, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeIn(List<String> values) {
            addCriterion("GOODS_BARCODE in", values, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeNotIn(List<String> values) {
            addCriterion("GOODS_BARCODE not in", values, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeBetween(String value1, String value2) {
            addCriterion("GOODS_BARCODE between", value1, value2, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsBarcodeNotBetween(String value1, String value2) {
            addCriterion("GOODS_BARCODE not between", value1, value2, "goodsBarcode");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNull() {
            addCriterion("GOODS_NAME is null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIsNotNull() {
            addCriterion("GOODS_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsNameEqualTo(String value) {
            addCriterion("GOODS_NAME =", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotEqualTo(String value) {
            addCriterion("GOODS_NAME <>", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThan(String value) {
            addCriterion("GOODS_NAME >", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameGreaterThanOrEqualTo(String value) {
            addCriterion("GOODS_NAME >=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThan(String value) {
            addCriterion("GOODS_NAME <", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLessThanOrEqualTo(String value) {
            addCriterion("GOODS_NAME <=", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameLike(String value) {
            addCriterion("GOODS_NAME like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotLike(String value) {
            addCriterion("GOODS_NAME not like", value, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameIn(List<String> values) {
            addCriterion("GOODS_NAME in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotIn(List<String> values) {
            addCriterion("GOODS_NAME not in", values, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameBetween(String value1, String value2) {
            addCriterion("GOODS_NAME between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsNameNotBetween(String value1, String value2) {
            addCriterion("GOODS_NAME not between", value1, value2, "goodsName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameIsNull() {
            addCriterion("GOODS_SIMPLE_NAME is null");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameIsNotNull() {
            addCriterion("GOODS_SIMPLE_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameEqualTo(String value) {
            addCriterion("GOODS_SIMPLE_NAME =", value, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameNotEqualTo(String value) {
            addCriterion("GOODS_SIMPLE_NAME <>", value, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameGreaterThan(String value) {
            addCriterion("GOODS_SIMPLE_NAME >", value, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameGreaterThanOrEqualTo(String value) {
            addCriterion("GOODS_SIMPLE_NAME >=", value, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameLessThan(String value) {
            addCriterion("GOODS_SIMPLE_NAME <", value, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameLessThanOrEqualTo(String value) {
            addCriterion("GOODS_SIMPLE_NAME <=", value, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameLike(String value) {
            addCriterion("GOODS_SIMPLE_NAME like", value, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameNotLike(String value) {
            addCriterion("GOODS_SIMPLE_NAME not like", value, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameIn(List<String> values) {
            addCriterion("GOODS_SIMPLE_NAME in", values, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameNotIn(List<String> values) {
            addCriterion("GOODS_SIMPLE_NAME not in", values, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameBetween(String value1, String value2) {
            addCriterion("GOODS_SIMPLE_NAME between", value1, value2, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsSimpleNameNotBetween(String value1, String value2) {
            addCriterion("GOODS_SIMPLE_NAME not between", value1, value2, "goodsSimpleName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameIsNull() {
            addCriterion("GOODS_CLASS_NAME is null");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameIsNotNull() {
            addCriterion("GOODS_CLASS_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameEqualTo(String value) {
            addCriterion("GOODS_CLASS_NAME =", value, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameNotEqualTo(String value) {
            addCriterion("GOODS_CLASS_NAME <>", value, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameGreaterThan(String value) {
            addCriterion("GOODS_CLASS_NAME >", value, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameGreaterThanOrEqualTo(String value) {
            addCriterion("GOODS_CLASS_NAME >=", value, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameLessThan(String value) {
            addCriterion("GOODS_CLASS_NAME <", value, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameLessThanOrEqualTo(String value) {
            addCriterion("GOODS_CLASS_NAME <=", value, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameLike(String value) {
            addCriterion("GOODS_CLASS_NAME like", value, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameNotLike(String value) {
            addCriterion("GOODS_CLASS_NAME not like", value, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameIn(List<String> values) {
            addCriterion("GOODS_CLASS_NAME in", values, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameNotIn(List<String> values) {
            addCriterion("GOODS_CLASS_NAME not in", values, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameBetween(String value1, String value2) {
            addCriterion("GOODS_CLASS_NAME between", value1, value2, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsClassNameNotBetween(String value1, String value2) {
            addCriterion("GOODS_CLASS_NAME not between", value1, value2, "goodsClassName");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdIsNull() {
            addCriterion("GOODS_FL_ID is null");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdIsNotNull() {
            addCriterion("GOODS_FL_ID is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdEqualTo(String value) {
            addCriterion("GOODS_FL_ID =", value, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdNotEqualTo(String value) {
            addCriterion("GOODS_FL_ID <>", value, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdGreaterThan(String value) {
            addCriterion("GOODS_FL_ID >", value, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdGreaterThanOrEqualTo(String value) {
            addCriterion("GOODS_FL_ID >=", value, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdLessThan(String value) {
            addCriterion("GOODS_FL_ID <", value, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdLessThanOrEqualTo(String value) {
            addCriterion("GOODS_FL_ID <=", value, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdLike(String value) {
            addCriterion("GOODS_FL_ID like", value, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdNotLike(String value) {
            addCriterion("GOODS_FL_ID not like", value, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdIn(List<String> values) {
            addCriterion("GOODS_FL_ID in", values, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdNotIn(List<String> values) {
            addCriterion("GOODS_FL_ID not in", values, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdBetween(String value1, String value2) {
            addCriterion("GOODS_FL_ID between", value1, value2, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsFlIdNotBetween(String value1, String value2) {
            addCriterion("GOODS_FL_ID not between", value1, value2, "goodsFlId");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIsNull() {
            addCriterion("GOODS_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIsNotNull() {
            addCriterion("GOODS_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeEqualTo(String value) {
            addCriterion("GOODS_TYPE =", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotEqualTo(String value) {
            addCriterion("GOODS_TYPE <>", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeGreaterThan(String value) {
            addCriterion("GOODS_TYPE >", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeGreaterThanOrEqualTo(String value) {
            addCriterion("GOODS_TYPE >=", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLessThan(String value) {
            addCriterion("GOODS_TYPE <", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLessThanOrEqualTo(String value) {
            addCriterion("GOODS_TYPE <=", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeLike(String value) {
            addCriterion("GOODS_TYPE like", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotLike(String value) {
            addCriterion("GOODS_TYPE not like", value, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeIn(List<String> values) {
            addCriterion("GOODS_TYPE in", values, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotIn(List<String> values) {
            addCriterion("GOODS_TYPE not in", values, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeBetween(String value1, String value2) {
            addCriterion("GOODS_TYPE between", value1, value2, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsTypeNotBetween(String value1, String value2) {
            addCriterion("GOODS_TYPE not between", value1, value2, "goodsType");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitIsNull() {
            addCriterion("GOODS_UNIT is null");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitIsNotNull() {
            addCriterion("GOODS_UNIT is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitEqualTo(String value) {
            addCriterion("GOODS_UNIT =", value, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitNotEqualTo(String value) {
            addCriterion("GOODS_UNIT <>", value, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitGreaterThan(String value) {
            addCriterion("GOODS_UNIT >", value, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitGreaterThanOrEqualTo(String value) {
            addCriterion("GOODS_UNIT >=", value, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitLessThan(String value) {
            addCriterion("GOODS_UNIT <", value, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitLessThanOrEqualTo(String value) {
            addCriterion("GOODS_UNIT <=", value, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitLike(String value) {
            addCriterion("GOODS_UNIT like", value, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitNotLike(String value) {
            addCriterion("GOODS_UNIT not like", value, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitIn(List<String> values) {
            addCriterion("GOODS_UNIT in", values, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitNotIn(List<String> values) {
            addCriterion("GOODS_UNIT not in", values, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitBetween(String value1, String value2) {
            addCriterion("GOODS_UNIT between", value1, value2, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andGoodsUnitNotBetween(String value1, String value2) {
            addCriterion("GOODS_UNIT not between", value1, value2, "goodsUnit");
            return (Criteria) this;
        }

        public Criteria andFactoryNameIsNull() {
            addCriterion("FACTORY_NAME is null");
            return (Criteria) this;
        }

        public Criteria andFactoryNameIsNotNull() {
            addCriterion("FACTORY_NAME is not null");
            return (Criteria) this;
        }

        public Criteria andFactoryNameEqualTo(String value) {
            addCriterion("FACTORY_NAME =", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameNotEqualTo(String value) {
            addCriterion("FACTORY_NAME <>", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameGreaterThan(String value) {
            addCriterion("FACTORY_NAME >", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameGreaterThanOrEqualTo(String value) {
            addCriterion("FACTORY_NAME >=", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameLessThan(String value) {
            addCriterion("FACTORY_NAME <", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameLessThanOrEqualTo(String value) {
            addCriterion("FACTORY_NAME <=", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameLike(String value) {
            addCriterion("FACTORY_NAME like", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameNotLike(String value) {
            addCriterion("FACTORY_NAME not like", value, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameIn(List<String> values) {
            addCriterion("FACTORY_NAME in", values, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameNotIn(List<String> values) {
            addCriterion("FACTORY_NAME not in", values, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameBetween(String value1, String value2) {
            addCriterion("FACTORY_NAME between", value1, value2, "factoryName");
            return (Criteria) this;
        }

        public Criteria andFactoryNameNotBetween(String value1, String value2) {
            addCriterion("FACTORY_NAME not between", value1, value2, "factoryName");
            return (Criteria) this;
        }

        public Criteria andProdAreaIsNull() {
            addCriterion("PROD_AREA is null");
            return (Criteria) this;
        }

        public Criteria andProdAreaIsNotNull() {
            addCriterion("PROD_AREA is not null");
            return (Criteria) this;
        }

        public Criteria andProdAreaEqualTo(String value) {
            addCriterion("PROD_AREA =", value, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaNotEqualTo(String value) {
            addCriterion("PROD_AREA <>", value, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaGreaterThan(String value) {
            addCriterion("PROD_AREA >", value, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaGreaterThanOrEqualTo(String value) {
            addCriterion("PROD_AREA >=", value, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaLessThan(String value) {
            addCriterion("PROD_AREA <", value, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaLessThanOrEqualTo(String value) {
            addCriterion("PROD_AREA <=", value, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaLike(String value) {
            addCriterion("PROD_AREA like", value, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaNotLike(String value) {
            addCriterion("PROD_AREA not like", value, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaIn(List<String> values) {
            addCriterion("PROD_AREA in", values, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaNotIn(List<String> values) {
            addCriterion("PROD_AREA not in", values, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaBetween(String value1, String value2) {
            addCriterion("PROD_AREA between", value1, value2, "prodArea");
            return (Criteria) this;
        }

        public Criteria andProdAreaNotBetween(String value1, String value2) {
            addCriterion("PROD_AREA not between", value1, value2, "prodArea");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeIsNull() {
            addCriterion("GOODS_ADDTIME is null");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeIsNotNull() {
            addCriterion("GOODS_ADDTIME is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeEqualTo(Date value) {
            addCriterion("GOODS_ADDTIME =", value, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeNotEqualTo(Date value) {
            addCriterion("GOODS_ADDTIME <>", value, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeGreaterThan(Date value) {
            addCriterion("GOODS_ADDTIME >", value, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeGreaterThanOrEqualTo(Date value) {
            addCriterion("GOODS_ADDTIME >=", value, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeLessThan(Date value) {
            addCriterion("GOODS_ADDTIME <", value, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeLessThanOrEqualTo(Date value) {
            addCriterion("GOODS_ADDTIME <=", value, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeIn(List<Date> values) {
            addCriterion("GOODS_ADDTIME in", values, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeNotIn(List<Date> values) {
            addCriterion("GOODS_ADDTIME not in", values, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeBetween(Date value1, Date value2) {
            addCriterion("GOODS_ADDTIME between", value1, value2, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsAddtimeNotBetween(Date value1, Date value2) {
            addCriterion("GOODS_ADDTIME not between", value1, value2, "goodsAddtime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeIsNull() {
            addCriterion("GOODS_UPDATETIME is null");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeIsNotNull() {
            addCriterion("GOODS_UPDATETIME is not null");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeEqualTo(Date value) {
            addCriterion("GOODS_UPDATETIME =", value, "goodsUpdatetime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeNotEqualTo(Date value) {
            addCriterion("GOODS_UPDATETIME <>", value, "goodsUpdatetime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeGreaterThan(Date value) {
            addCriterion("GOODS_UPDATETIME >", value, "goodsUpdatetime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("GOODS_UPDATETIME >=", value, "goodsUpdatetime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeLessThan(Date value) {
            addCriterion("GOODS_UPDATETIME <", value, "goodsUpdatetime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("GOODS_UPDATETIME <=", value, "goodsUpdatetime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeIn(List<Date> values) {
            addCriterion("GOODS_UPDATETIME in", values, "goodsUpdatetime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeNotIn(List<Date> values) {
            addCriterion("GOODS_UPDATETIME not in", values, "goodsUpdatetime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("GOODS_UPDATETIME between", value1, value2, "goodsUpdatetime");
            return (Criteria) this;
        }

        public Criteria andGoodsUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("GOODS_UPDATETIME not between", value1, value2, "goodsUpdatetime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}